# -*- coding: utf-8 -*-

'''
Created on 21 de Nov de 2011

@author: Eduardo Cardeira - Nº 6033

This file contains the code necessary for the creation of the database containing
the Rebides information. It is extracted from the csv files provided by the teacher.
'''

import sqlite3
import csv
import re

class Criar_Base_de_Dados():  
    
    conn = sqlite3.connect('Rebides.db')
    cursor = conn.cursor()
    
    cursor.execute('''DROP TABLE IF EXISTS Docentes_Rebides''')
    cursor.execute("""CREATE TABLE Docentes_Rebides (Id_Entrada TEXT PRIMARY KEY, 
                    Codigo_do_Docente TEXT, Nome TEXT, Ultimo_Grau TEXT, Curso TEXT, 
                    Categoria TEXT, Regime_de_Tempo TEXT, Ano_Lectivo TEXT, 
                    Tipo_de_Estabelecimento TEXT, Nome_do_Estabelecimento TEXT)""")    
    
    conn.commit
    
    id_entrada = 0
    
    for x in range(0, 11):
           
        filename = 'C:/Users/Utilizador/Desktop/estiglp1112-6033-python/resources/rebcsv/reb{0}.csv'.format(x)
           
        with open(filename, 'rb') as f:
            reader = csv.reader(f, delimiter=',')
            try:
                reader.next()
                for row in reader:
                    
                    id_entrada += 1
                    codigo_docente = row[0].decode('utf-8')
                    nome = row[1].decode('utf-8')
                    ultimo_grau = row[2].decode('utf-8')
                    curso = row[3].decode('utf-8')
                    categoria = row[4].decode('utf-8')
                    regime_de_tempo = row[5].decode('utf-8')
                    ano_lectivo = row[6].decode('utf-8')
                    tipo_de_estabelecimento = row[7].decode('utf-8')
                    nome_do_estabelecimento = row[8].decode('utf-8')
                    
                    print id_entrada, ', ', codigo_docente, ', ', nome, ', ', ultimo_grau, ', ', curso, ', ', categoria, ', ', regime_de_tempo, ', ', ano_lectivo, ', ', tipo_de_estabelecimento, ', ', nome_do_estabelecimento
                            
                    cursor.execute('''INSERT INTO Docentes_Rebides (Id_Entrada, Codigo_do_Docente, 
                                    Nome, Ultimo_Grau, Curso, Categoria, Regime_de_Tempo, 
                                    Ano_Lectivo, Tipo_de_Estabelecimento, Nome_do_Estabelecimento) 
                                    VALUES ("{0}", "{1}", "{2}", "{3}", "{4}", "{5}", "{6}", "{7}", "{8}", "{9}")
                                    '''.format(id_entrada, codigo_docente, nome, ultimo_grau, curso, categoria, regime_de_tempo, ano_lectivo, tipo_de_estabelecimento, nome_do_estabelecimento))        
                    pass
                
            except:
                #print type(row[3])
                #print row[3]
                curso_corrigido = re.sub('"', '', row[3])
                #print curso_corrigido
                #print x
                cursor.execute('''INSERT INTO Docentes_Rebides (Id_Entrada, Codigo_do_Docente, 
                                    Nome, Ultimo_Grau, Curso, Categoria, Regime_de_Tempo, 
                                    Ano_Lectivo, Tipo_de_Estabelecimento, Nome_do_Estabelecimento) 
                                    VALUES ("{0}", "{1}", "{2}", "{3}", "{4}", "{5}", "{6}", "{7}", "{8}", "{9}")
                                    '''.format(id_entrada, codigo_docente, nome, ultimo_grau, curso_corrigido, categoria, regime_de_tempo, ano_lectivo, tipo_de_estabelecimento, nome_do_estabelecimento))
                pass
                
    conn.commit

    cursor.close()

    pass

pass




